package model

import "fx_swift_ifcgate_agent/pkg/crypt"

// IfcgateAgent  代理商表
type IfcgateAgent struct {
	ID          int64  `json:"id"`        //  主键
	Account     string `json:"account"`   //  账户
	Password    string `json:"password"`  //  密码
	Salt        string `json:"salt"`      //  用于密码加密
	NickName    string `json:"nick_name"` //  昵称
	Email       string `json:"email"`     //  邮箱
	CountryCode string `json:"country_code"`
}

// IfcgateEnterpriseAccountApply  代理商资质审核申请
type IfcgateEnterpriseAccountApply struct {
	ID             int64  `json:"id"`      //  主键
	Account        string `json:"account"` //  账户
	CountryCode    string `json:"country_code"`
	CompanyName    string `json:"company_name"`    //  注册公司名称
	RegisterCode   string `json:"register_code"`   //  注册编号
	CompanyTime    string `json:"company_time"`    //  成立时间
	CompanyType    string `json:"company_type"`    //  企业类型
	CompanyAddress string `json:"company_address"` //  公司地址
	ContactPerson  string `json:"contact_person"`  //  公司联系人
	Phone          string `json:"phone"`           //  联系电话
	Image          string `json:"image"`           //  各种图片的json串
	Status         string `json:"status"`          //  审核状态:draft、init、pass、refuse
	RefuseReason   string `json:"refuse_reason"`   //  拒绝原因
}

// IfcgateCompanyUser  结汇企业用户表
type IfcgateCompanyUser struct {
	ID           int64  `json:"id"`            //  主键
	Account      string `json:"account"`       //  账户
	AgentAccount string `json:"agent_account"` //  代理商账户
	Password     string `json:"password"`      //  密码
	Salt         string `json:"salt"`          //  用于密码加密
	Email        string `json:"email"`         //  邮箱
	MerchantNo   string `json:"merchant_no"`   //  商户号
	MerNameEn    string `json:"mer_name_en"`   //  商户英文名称
	InvitId      int64  `json:"invit_id"`      //  邀请码唯一Id
}

// FxCountry  国家表
type FxCountry struct {
	ID             int64  `json:"id"`           //  主键
	EnglishName    string `json:"english_name"` //  英文名字
	ChineseName    string `json:"chinese_name"` //  中文名字
	CountryCode    string `json:"country_code"` //  国家编码
	IsoCountryCode string `json:"iso_country_code"`
	Status         string `json:"status"`
}

type IFCGATEMerChantVATmp struct {
	Account   string `json:"account"`
	ReqJson   string `json:"req_json"`
	ReqBackup string `json:"req_backup"`
}

type IFCGateNature struct {
	Code       string `json:"code"`
	Desc       string `json:"desc"`
	NatureType string `json:"nature_type"`
}

type IFCGateSourceFund struct {
	Code string `json:"code"`
	Desc string `json:"desc"`
}

type IFCGatePaymentPurpose struct {
	Code string `json:"code"`
	Desc string `json:"desc"`
}

// IfcgateCurrency  货币表
type IfcgateCurrency struct {
	ID           int64  `json:"id"`            //  主键
	CurrencyName string `json:"currency_name"` //  货币名称
	CurrencyCode string `json:"currency_code"` //  货币编码
	Image        string `json:"image"`
}

// IfcgateWithdrawBankInfo  提现银行表
type IfcgateWithdrawBankInfo struct {
	ID       int64  `json:"id"`       //  主键
	Account  string `json:"account"`  //  代理商帐户
	Currency string `json:"currency"` //  提现币种
	Image    string `json:"image"`    //  图片
}

// IfcgateWithdrawRecord  提现记录表
type IfcgateWithdrawRecord struct {
	ID          int64   `json:"id"`           //  主键
	Account     string  `json:"account"`      //  代理商帐户
	CompanyName string  `json:"company_name"` //  企业名称
	Currency    string  `json:"currency"`     //  提现币种
	Amount      float64 `json:"amount"`       //  提现金额
	Status      string  `json:"status"`       //  状态:init-处理中,success-完成
}

// IfcgateCompanyType  企业类型表
type IfcgateCompanyType struct {
	ID          int64  `json:"id"`           //  主键
	EnglishName string `json:"english_name"` //  英文名字
	ChineseName string `json:"chinese_name"` //  中文名字
}

type FxPlacard struct {
	ID      int64  `json:"id"`
	Type    string `json:"type"`
	Content string `json:"content"`
}

func (m *IfcgateAgent) ComparePassword(password string) error {
	return crypt.ComparePassword(m.Password, m.Salt, password)
}
